/*
 * GamestateWriter.h
 *
 *  Created on: Sep 8, 2009
 *      Author: mlrus
 */

#ifndef GAMESTATEWRITER_H_
#define GAMESTATEWRITER_H_
#include "tilemessage.pb.h"
using namespace std;
class GamestateWriter {
    public:
        GamestateWriter() { };
        virtual ~GamestateWriter() { };
        void generateDummySolution(tilemessage::SolutionSet* sol);
        void showSolution(tilemessage::SolutionSet& sol);
        void PromptForGamestate(tilemessage::GameState* gs);
        void generateDummyState(tilemessage::GameState* gs);
        int doWrite(const tilemessage::GameState& gs, const string& destination);
        int readState(tilemessage::GameState* gs, const std::string& source);
        void showState(const tilemessage::GameState& gs);
        void PromptForSolution(tilemessage::SolutionSet* sol);
        string construct(tilemessage::GameState& gs, vector<string>& rows, string& rack, string id=string("generatedID"));
};

#endif /* GAMESTATEWRITER_H_ */
